/**
 * Created by wangcan on 2017/12/8.
 */
'use strict';

/* App Module */
var balanceHistoryApp = angular.module('balanceHistoryApp', ['ngRoute', 'ngResource']);
var params = {};
var tempArray = window.location.search.split('?');
if (tempArray.length == 2) {
    var parts = tempArray[1].split('&');
    var nv = [];
    for (var i = 0; i < parts.length; i++) {
        var index = parts[i].indexOf("=", 0);
        nv[0] = parts[i].substr(0, index);
        nv[1] = parts[i].substr(index + 1);
        // var nv = parts[i].split('=');

        if (!nv[0]) continue;
        params[nv[0]] = nv[1] || true;
    }
}

// var host = 'app.h2oprint.com'; // 66测试环境
var host = 'app-66xiaoqu.babytree.com'; // 正式环境
// var host = "192.168.2.112:3000";
// var host = '1.202.243.234:8765'; // 美囤测试环境

balanceHistoryApp.controller('BalanceHisCtrl', ['$scope', 'BalanceHis', function ($scope, BalanceHis) {

    // $scope.skuImgW = ($(window).width()) * 0.3 + 'px';
    // $scope.skuImgH = ($(window).width()) * 0.3 + 'px';

    var no_dataText = '没有结算数据～';

    $scope.ts = 0; // 分页参数
    $scope.balanceHisList = []; // 佣金订单列表数据

    var isMore = true;// 判断是否有更多数据
    var isfinish = true;// isfinish判断每次数据是否加载完成，完成了才可进行下一次加载

    /* 逻辑 */
    angular.element(document).ready(function() {
        $scope.init();
    });

    $scope.init = function () {
        getNewData(true);
    };

    function getNewData(flag) {
        if (flag)
            $('.loading-pop').show();
        BalanceHis.get({
            ts: $scope.ts
        }, function (result) {
            if (result != null && result.data != null && result.data != undefined) {
                var tempData = result.data;
                if (tempData != null && tempData != undefined && tempData.list != null && tempData.list.length > 0) {
                    $scope.ts = tempData.ts;
                    if (flag) {
                        $scope.balanceHisList = tempData.list;
                    } else {
                        $scope.balanceHisList = $scope.balanceHisList.concat(tempData.list);
                    }
                    $("#loading_msg").html('');
                }

                isfinish = true;
                isMore = true;
                // 是否有下一页数据 0-没有 1-有
                if (tempData.hasNextPage == 0) {
                    isMore = false;
                    // $("#loading_msg").html('<p id="loadingDoneContainer">没有数据了!</p>');
                }
                if ($scope.balanceHisList.length > 0 && tempData.message == "没有结算数据") {
                    isMore = false;
                    $("#loading_msg").html('<p id="loadingDoneContainer">没有数据了!</p>');
                    // $collectLoadingDonePopup();
                }

                if (tempData != null && tempData != undefined) {
                    if($scope.balanceHisList.length == 0) {
                        $("#loading_msg").html('');
                        $('.balanceHisList').height($(window).height());
                        $noDataTextDisplay($scope.balanceHisList.length == 0);
                        $scope.no_dataText = no_dataText;
                    }
                }
                $('.loading-pop').hide();
            } else {
                if(result.result.status == 0){
                    if(result.result.message == "登录已过期，请重新登录"){
                        try{
                            loginAction();
                        }
                        catch(error){
                            console.log(error);
                        }
                    } else {
                        $('#load_img').hide();
                        $('#reload').show();
                    }
                    // return;
                } else {
                    $('#load_img').hide();
                    $('#reload').show();
                }
            }
        });
    }

    // var count = 0;
    // // 2、滚动加载更多
    // $('.wrapper').scroll(function () {
    //     if ($scope.no_dataText != no_dataText) {
    //         if (params.type == 'ios') {
    //             $iosScrollTop();
    //         } else {
    //             if ($(this).scrollTop() > $(".wrapper").height()) {
    //                 $('.to_top').css('display', 'block');
    //             } else if ($(this).scrollTop() == 0) {
    //                 $('.to_top').css('display', 'none');
    //             }
    //         }
    //         var show = count == 0 ? 1 : $('.wrapper').offset().top;
    //         count++;
    //         var firstLoad = show > 0;
    //
    //         var contentHeight = $(".wrapper")[0].scrollHeight;
    //         var h = $(".wrapper").height();
    //         var scrollTop = $(".wrapper").scrollTop();
    //
    //         // console.log("contentHeight..." + contentHeight);
    //         // console.log("h..." + h);
    //         // console.log("scrollTop..." + scrollTop);
    //
    //         if (!isMore){
    //             var curScrollHeight = $(this).scrollTop();
    //             if (curScrollHeight <= $scope.preScrollHeight) {
    //                 $scope.preScrollHeight = $(this).scrollTop();
    //                 return ;
    //             }
    //             if ((contentHeight - h - $(this).scrollTop()) <= 10) {
    //                 $scope.preScrollHeight = $(this).scrollTop();
    //                 $("#loading_msg").html('<p id="loadingDoneContainer">没有数据了!</p>');
    //                 // $collectLoadingDonePopup();
    //             }
    //         } else if (isMore && isfinish) {
    //             // if ((contentHeight - h - $(this).scrollTop()) <= 150) {
    //             if ((contentHeight - h <= $(this).scrollTop())) {
    //                 isfinish = false;
    //                 // $(".loadingMore").html('<img src="../market/images/loading.gif" />正在加载');
    //                 $("#loading_msg").html('<p class="loadingMore"><img src="../market/images/loading.gif"/>正在加载</p>');
    //                 //此处为加载下一条的方法
    //                 if (!firstLoad)
    //                     getNewData(false);
    //                 else
    //                     $scrollBalancePageToTop();
    //             }
    //         }
    //     }
    // }).scroll();

    // 2、滚动加载更多
    $(window).scroll(function() {
        if ($scope.no_dataText != no_dataText) {
            if (params.type == 'ios') {
                $iosScrollTop();
            } else {
                if ($(this).scrollTop() > $(this).height()) {
                    $('.to_top').css('display', 'block');
                } else if ($(this).scrollTop() == 0) {
                    $('.to_top').css('display', 'none');
                }
            }
        }
        var scrollTop = $(this).scrollTop();
        var scrollHeight = $(document).height();
        var windowHeight = $(this).height();

        if(scrollTop + windowHeight == scrollHeight) {
            $("#loading_msg").html('<p class="loadingMore"><img src="../market/images/loading.gif"/>正在加载</p>');
            if (isMore) {
                getNewData(false);
            } else {
                $("#loading_msg").html('<p id="loadingDoneContainer">没有数据了!</p>');
            }
        }
    });

    // 重载
    $scope.reload = function () {
        document.location.reload();
    };

    // 跳转到结算历史明细页面
    $scope.goToBalanceHisDetail = function(tempItem) {
        var balanceId = tempItem.balanceId;
        var balanceAmbUserId = tempItem.balanceAmbUser.objId;
        window.location.href = "balanceDetail.html" + window.location.search + "&balanceId=" + balanceId + "&balanceAmbUserId=" + balanceAmbUserId;
    }
}]);

balanceHistoryApp.factory('BalanceHis', ['$resource', function ($resource) {
    return $resource('http://' + host + '/rest/v1.0/commission/balanceHistoryList/:ts/'
        + params.token + '/' + params.deviceId, {});
}]);


